#pragma once

class Sgn
{
public:
	// General Codes
	static const unsigned int Created = 4;
	static const unsigned int Destroyed = 5;
	static const unsigned int MessengerBeat = 6;

	typedef unsigned int Code;

	Sgn(GameObject * from, GameObject::List * to, Code code);
	~Sgn(void);

	GameObject * GetFrom(void) const { return _From; }
	Code GetCode(void) const { return _Code; }
	GameObject::List * GetTo(void) const { return _To; }

private:
	class GameObject * _From;
	Code _Code;
	GameObject::List * _To;
};

